Skip to content

test: make UI tests pass on iPad and after the launch test - #108

Merged
ykisana merged 1 commit into
mainfrom
test/ui-test-reliability
Nov 15, 2026
Merged

ykisana merged 1 commit into
mainfrom
test/ui-test-reliability

Conversation

@ykisana

@ykisana ykisana commented Nov 15, 2026

Copy link
Copy Markdown
Contributor

Problem

  • iPad: on main, 16 UI tests fail on an iPad (A16) simulator running iOS 27. From iPadOS 18 the main tabs sit at the top as plain buttons rather than in a tab bar, so app.tabBars.buttons["Keys"] finds nothing. The Settings sheet still has a bottom tab bar.
  • Landscape: NormalUITestsLaunchTests runs in every screen configuration and leaves the simulator in landscape. In a full run, 3 UnblockDurationsUITests that run after it fail.

Fix

  • app.mainTab(_:) finds a main tab by its label on iPadOS 18+ iPads and uses tabBars.buttons everywhere else, as before. Every main-tab tap uses it; the Settings tabs are unchanged.
  • Each UI test class sets portrait orientation in setUpWithError. The launch test is unchanged.

No app code changes.

Tests

Simulator Run Result
iPhone 17, iOS 27 full suite, launch test included 41/41 (3 failed before)
iPad (A16), iOS 27 full suite 41/41 (16 failed before)
iPad (10th gen), iOS 18.0 NormalUITests + RecoveryUITests 17/17
iPad (10th gen), iOS 17.5 NormalUITests + RecoveryUITests 17/17

CI runs only the unit tests, so the UI results above are from local runs.

@ykisana
ykisana merged commit 4581dce into main Nov 15, 2026
1 check passed
@ykisana
ykisana deleted the test/ui-test-reliability branch November 15, 2026 01:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant